草庐IT

c++ - RAII 和 C++ STL

全部标签

【C++修行之道】STL(初识pair、vector)

目录一、pair1.1pair的定义和结构1.2pair的嵌套1.3pair自带排序规则1.4代码示例 二、vector2.1vector的定义和特性2.2vector的初始化一维初始化:2.3vector的常用函数2.4vector排序去重排序:去重:示例:一、pair1.1pair的定义和结构在C++中,pair是一个模板类,用于一对值的组合。它位于头文件中。pair类的定义如下:templatestructpair{ T1fiest;//第一个值 T2second;//第二个值 //构造函数 pair(); pair(constT1&x,constT2&y); //比较运算符重载 boo

C++学习八:STL:容器、算法、迭代器、空间配置器、配接器、仿函数,组件间的关系,STL序列容器、vector、deque、list、vector向量

一.STL1.STL可分为六个部分:  容器(containers)    特殊的数据结构,实现了数组、链表、队列、等等,实质是模板类  迭代器(iterators)    一种复杂的指针,可以通过其读写容器中的对象,实质是运算符重载  算法(algorithms)    读写容器对象的逻辑算法:排序、遍历、查找、等等,实质是模板函数  空间配置器(allocator)    容器的空间配置管理的模板类  配接器(adapters)    用来修饰容器、仿函数、迭代器接口  仿函数(functors)    类似函数,通过重载()运算符来模拟函数行为的类1、组件间的关系    containe

【C++】STL 算法 ④ ( 函数对象与谓词 | 一元函数对象 | “ 谓词 “ 概念 | 一元谓词 | find_if 查找算法 | 一元谓词示例 )

文章目录一、函数对象与谓词1、一元函数对象2、"谓词"概念3、find_if查找算法二、一元谓词示例1、代码示例-一元谓词示例2、执行结果一、函数对象与谓词1、一元函数对象"函数对象"是通过重载函数调用操作符()实现的operator(),函数对象可以像普通函数一样被调用,但同时它们还可以拥有状态并且可以有多个成员函数;"一元函数对象"是函数对象的一种,只接受一个参数并返回某个结果的函数对象称为"一元函数对象";"一元函数对象"在标准模板库(STL,StandardTemplateLibrary)中特别常见,尤其是在STL算法中,因为它们可以用作自定义操作,以适应各种不同的需求;例如:使用一元

【C/C++笔试练习】sort排序、STL容器、vector的特性、一级容器、迭代器失效、异常捕获、动态转换、统计每个月兔子的总数、字符串通配符

文章目录C/C++笔试练习选择部分(1)sort是不稳定排序(2)存放即有序的STL容器(3)连续储存的STL容器(4)vector的特性(5)一级容器(6)unordered_map和priority_queue的底层(7)迭代器失效(8)异常捕获(9)动态转换(10)多态的实现编程题day18统计每个月兔子的总数字符串通配符C/C++笔试练习选择部分(1)sort是不稳定排序  以下关于STL的描述中,()是错的  A.STL容器是线程不安全的  B.当容量不够时,STL的一个典型实现是vector内部内存扩展方式为翻倍  C.std::sort是稳定排序  D.std::bitset不是

【C++练级之路】【Lv.7】【STL】vector类的模拟实现

快乐的流畅:个人主页个人专栏:《C语言》《数据结构世界》《进击的C++》远方有一堆篝火,在为久候之人燃烧!文章目录引言一、成员变量二、默认成员函数2.1constructor2.2destructor2.3copyconstructor2.4operator=三、迭代器3.1begin3.2end四、元素访问4.1operator[]五、容量5.1size5.2capacity5.3reserve5.4resize5.5empty六、修改6.1push_back6.2pop_back6.3insert6.4erase6.5swap总结引言关于STL容器的学习,我们来到了运用最广泛、最常见的ve

【C++】STL 算法 - 拷贝替换算法 ( 元素复制算法 - copy 函数 | 元素替换算法 - replace 函数 | 替换符合要求的元素算法 - replace_if 函数 )

文章目录一、元素复制算法-copy函数1、函数原型分析2、代码示例二、元素替换算法-replace函数1、函数原型分析2、代码示例三、替换符合要求的元素算法-replace_if函数1、函数原型分析2、代码示例一、元素复制算法-copy函数1、函数原型分析在C++语言的标准模板库(STL,STLStandardTemplateLibrary)中,提供了copy元素复制算法函数用于将一个容器中的元素复制到另外一个容器中;copy元素赋值函数将输入容器的[起始迭代器,终止迭代器)范围内的元素复制到输出序列中,从输出容器的指定开始位置迭代器开始存放被复制过来的元素;复制元素操作完成后,输出容器中对应

STL之vector容器的介绍与模拟实现

STL之vector容器的介绍与模拟实现1.vector简介2.vector容器使用2.1vectord定义2.2vectoriterator的使用2.3vector空间增长问题2.4注意事项3.vector功能模拟实现3.1架构搭建3.2空间控制板块3.3迭代器3.4增加/删除数据3.5运算符重载3.6构造/析构4.整体代码所属专栏:C“嘎嘎"系统学习❤️🚀>博主首页:初阳785❤️🚀>代码托管:chuyang785❤️🚀>感谢大家的支持,您的点赞和关注是对我最大的支持!!!❤️🚀>博主也会更加的努力,创作出更优质的博文!!❤️1.vector简介vector的文档介绍vector是表示可变

STL——list

1、list介绍1.list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。2.list的底层是带头双向循环链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。3.list与forward_list非常相似:最主要的不同在于forward_list是单链表,只能朝前迭代,已让其更简单高效。4.与其他的序列式容器相比(array,vector,deque),list通常在任意位置进行插入、移除元素的执行效率更好。5.与其他序列式容器相比,list和forward_list最大的缺陷是不支持任意位置的随机访问,比

STL标准库与泛型编程(侯捷)笔记4

STL标准库与泛型编程(侯捷)本文是学习笔记,仅供个人学习使用。如有侵权,请联系删除。参考链接Youbute:侯捷-STL标准库与泛型编程B站:侯捷-STLGithub:STL源码剖析中源码https://github.com/SilverMaple/STLSourceCodeNote/tree/masterGithub:课程ppt和源码https://github.com/ZachL1/Bilibili-plus文章目录STL标准库与泛型编程(侯捷)介绍20RBtree深度探索21set、multiset深度探索22map、multimap深度探索23hashtable深度探索(上)24ha

【C++练级之路】【Lv.6】【STL】string类的模拟实现

文章目录引言一、成员变量二、默认成员函数2.1constructor2.2copyconstructor2.3destructor2.4operator=三、迭代器3.1begin3.2end四、元素访问4.1operator[]五、容量5.1size5.2capacity5.3reserve5.4resize六、修改6.1push_back6.2append6.3operator+=6.4insert6.5erase6.6swap6.7clear七、操作7.1c_str7.2find八、非成员函数8.1relationaloperators8.2operator8.3operator>>总结